package org.wdcode.core.factory;

/**
 * 拥有Key功能的工厂接口 根据Key生成单例
 * @author WD
 * @since JDK6
 * @version 1.0 2010-09-01
 */
public interface KeyFactory<K, E> extends Factory<E> {
	/**
	 * 获得实例 单例模式
	 * @param key 根据Key获得实例 
	 * @return 获得实例
	 */
	E getInstance(K key);

	/**
	 * 实例化新实例
	 * @param key 根据Key获得实例
	 * @return 新实例
	 */
	E newInstance(K key);
}
